package com.projecy.storehouse.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.projecy.storehouse.controller.PutRegisterController;
import com.projecy.storehouse.entity.OutStorage;
import com.projecy.storehouse.entity.OutStorageDefault;
import com.projecy.storehouse.entity.dto.UpdatePutRegister;
import org.springframework.http.ResponseEntity;

import java.util.List;

/**
 * (OutStorage)表服务接口
 *
 * @author maoyi
 * @since 2023-03-24 16:46:07
 */
public interface OutStorageService extends IService<OutStorage> {

    /**
     * 添加入库申请
     *
     * @param outStorage
     * @param list
     * @return
     */
    ResponseEntity<Object> insertOutStorage(OutStorage outStorage, List<OutStorageDefault> list);

    /**
     * 入库申请查询
     * @param mark
     * @return
     */
    ResponseEntity<Object> seacherOutStorage(String mark);

    /**
     * 入库申请查询(状态)
     * @param mark
     * @return
     */
    ResponseEntity<Object> seacherOutStorageMark(String mark);

    /**
     * 入库申请复核
     * @param putId
     * @param mark
     * @return
     */
    ResponseEntity<Object> updateOutStorageMark(Long putId,String mark);


    /**
     * 入库调度
     */

    /**
     * 入库调度查询入库理由
     * @param mark
     * @param reason
     * @return
     */
    ResponseEntity<Object> seacherOutStorageDispatchMark(String reason,String mark);

    /**
     *点击调度
     * @param productId
     * @return
     */
    ResponseEntity<Object> checkDispatch(Long productId,Long putId);

    /**
     *总调度
     * @param putId
     * @return
     */
    ResponseEntity<Object> checkDispatchAll(Long putId,String uname);


    /**
     * 入库登记
     */


    ResponseEntity<Object>  updatePutRegister(UpdatePutRegister updatePutRegister);



    ResponseEntity<Object>  checkAndAdd(Long putId);
}

